﻿namespace St0rm.IRCPro.Client {

    /// <summary>
    /// Called when a Client is not ready to connect
    /// </summary>
    public class NotReadyException : System.Exception {
#pragma warning disable 1591
        public NotReadyException(string message) : base(message) {
        }

        public NotReadyException() : this("Client is not ready to connect. Initialize all required fields.") { }
#pragma warning restore 1591
    }

    /// <summary>
    /// Client is not connected
    /// </summary>
    public class NotConnectedException : System.Exception {
#pragma warning disable 1591
        public NotConnectedException(string message)
            : base(message) {
        }

        public NotConnectedException() : this("Client is not connected to a server.") { }
#pragma warning restore 1591
    }

    /// <summary>
    /// Client is already registered
    /// </summary>
    public class AlreadyRegisteredException : System.Exception {
#pragma warning disable 1591
        public AlreadyRegisteredException(string message)
            : base(message) {
        }

        public AlreadyRegisteredException() : this("Client is already registered") { }
#pragma warning restore 1591
    }


    /// <summary>
    /// Client's Nickname is already in use
    /// </summary>
    public class NickInUseException : System.Exception {
#pragma warning disable 1591
        public NickInUseException(string message)
            : base(message) {
        }

        public NickInUseException() : this("Client is already registered") { }
#pragma warning restore 1591
    }
}